namespace Magiq.Tests.TestModel {
    public interface ITestClass1<T> where T : ITestClass1<T> {
        int Id { get; set; }
        string StringProperty { get; set; }
        string AnotherStringProperty { get; set; }
        int IntProperty { get; set; }
        int? NullableIntProperty { get; set; }
        int AnotherIntProperty { get; set; }
        T SelfReference { get; set; }
        TestClass2 Reference { get; set; }
        TestClass2 Reference2 { get; set; }
    }
}